package com.nifostasky.comic.common.threadlocal;


import java.util.Objects;

public class SessionLoad {
    private static ThreadLocal<LocalData> threadLocal = new ThreadLocal();

    /**
     * 设置用户信息,将用户信息绑定当前线程;
     */
    public static void setLocalData(LocalData localData){
        threadLocal.set(localData);
    }

    /**
     * 获取用户信息,获取绑定当前线程的用户信息
     *
     * 这里如果当前线程绑定的数据为空时,直接new了一个空对象;减少使用时验证空指针的情况;
     */
    public static LocalData getLocalData(){
        LocalData localData = threadLocal.get();
        if (Objects.nonNull(localData)){
            return localData;
        }else{
            return new LocalData();
        }
    }

    /**
     * 释放当前线程绑定对象;
     */
    public static void removeLocalData(){
        threadLocal.remove();
    }

}
